
-- --------------------------------------------------
-- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure
-- --------------------------------------------------
-- Date Created: 09/01/2012 22:35:32
-- Generated from EDMX file: C:\Projetos\OWNZ\ownztec\OwnZTec\Projetos\OwnZTec.LojaDelivery\OwnZTec.LojaDelivery.Data\mdlDbLojaDelivery.edmx
-- --------------------------------------------------

SET QUOTED_IDENTIFIER OFF;
GO
USE [deliveryDB];
GO
IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]');
GO

-- --------------------------------------------------
-- Dropping existing FOREIGN KEY constraints
-- --------------------------------------------------

IF OBJECT_ID(N'[dbo].[FK_tbDesperdicioDetalhes_tbDesperdicio]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbDesperdicioDetalhes] DROP CONSTRAINT [FK_tbDesperdicioDetalhes_tbDesperdicio];
GO
IF OBJECT_ID(N'[dbo].[FK_tbDesperdicioDetalhes_tbGrupoProduto]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbDesperdicioDetalhes] DROP CONSTRAINT [FK_tbDesperdicioDetalhes_tbGrupoProduto];
GO
IF OBJECT_ID(N'[dbo].[FK_tbDesperdicioDetalhes_tbProduto]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbDesperdicioDetalhes] DROP CONSTRAINT [FK_tbDesperdicioDetalhes_tbProduto];
GO
IF OBJECT_ID(N'[dbo].[FK_tbEntregas_tbFuncionario]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbEntregas] DROP CONSTRAINT [FK_tbEntregas_tbFuncionario];
GO
IF OBJECT_ID(N'[dbo].[FK_tbEntregas_tbVendas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbEntregas] DROP CONSTRAINT [FK_tbEntregas_tbVendas];
GO
IF OBJECT_ID(N'[dbo].[FK_tbFuncionario_tbFuncao]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbFuncionario] DROP CONSTRAINT [FK_tbFuncionario_tbFuncao];
GO
IF OBJECT_ID(N'[dbo].[FK_tbGrupoProdutoCliente_tbCliente]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbGrupoProdutoCliente] DROP CONSTRAINT [FK_tbGrupoProdutoCliente_tbCliente];
GO
IF OBJECT_ID(N'[dbo].[FK_tbGrupoProdutoCliente_tbGrupoProduto]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbGrupoProdutoCliente] DROP CONSTRAINT [FK_tbGrupoProdutoCliente_tbGrupoProduto];
GO
IF OBJECT_ID(N'[dbo].[FK_tbProduto_tbGrupoProduto]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbProduto] DROP CONSTRAINT [FK_tbProduto_tbGrupoProduto];
GO
IF OBJECT_ID(N'[dbo].[FK_tbProdutoCliente_tbCliente]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbProdutoCliente] DROP CONSTRAINT [FK_tbProdutoCliente_tbCliente];
GO
IF OBJECT_ID(N'[dbo].[FK_tbProdutoCliente_tbProduto]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbProdutoCliente] DROP CONSTRAINT [FK_tbProdutoCliente_tbProduto];
GO
IF OBJECT_ID(N'[dbo].[FK_tbUsuario_tbFuncionario]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbUsuario] DROP CONSTRAINT [FK_tbUsuario_tbFuncionario];
GO
IF OBJECT_ID(N'[dbo].[FK_tbUsuario_tbPerfil]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbUsuario] DROP CONSTRAINT [FK_tbUsuario_tbPerfil];
GO
IF OBJECT_ID(N'[dbo].[FK_tbVendaDetalhes_tbProduto]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbVendaDetalhes] DROP CONSTRAINT [FK_tbVendaDetalhes_tbProduto];
GO
IF OBJECT_ID(N'[dbo].[FK_tbVendaDetalhes_tbVendas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbVendaDetalhes] DROP CONSTRAINT [FK_tbVendaDetalhes_tbVendas];
GO
IF OBJECT_ID(N'[dbo].[FK_tbVendas_tbCliente]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbVendas] DROP CONSTRAINT [FK_tbVendas_tbCliente];
GO
IF OBJECT_ID(N'[dbo].[FK_tbVendas_tbUsuario]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[tbVendas] DROP CONSTRAINT [FK_tbVendas_tbUsuario];
GO

-- --------------------------------------------------
-- Dropping existing tables
-- --------------------------------------------------

IF OBJECT_ID(N'[dbo].[sysdiagrams]', 'U') IS NOT NULL
    DROP TABLE [dbo].[sysdiagrams];
GO
IF OBJECT_ID(N'[dbo].[tbCliente]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbCliente];
GO
IF OBJECT_ID(N'[dbo].[tbDesperdicio]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbDesperdicio];
GO
IF OBJECT_ID(N'[dbo].[tbDesperdicioDetalhes]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbDesperdicioDetalhes];
GO
IF OBJECT_ID(N'[dbo].[tbEntregas]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbEntregas];
GO
IF OBJECT_ID(N'[dbo].[tbFuncao]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbFuncao];
GO
IF OBJECT_ID(N'[dbo].[tbFuncionario]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbFuncionario];
GO
IF OBJECT_ID(N'[dbo].[tbGrupoProduto]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbGrupoProduto];
GO
IF OBJECT_ID(N'[dbo].[tbGrupoProdutoCliente]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbGrupoProdutoCliente];
GO
IF OBJECT_ID(N'[mdlDbLojaDeliveryStoreContainer].[tbParamentrosSistema]', 'U') IS NOT NULL
    DROP TABLE [mdlDbLojaDeliveryStoreContainer].[tbParamentrosSistema];
GO
IF OBJECT_ID(N'[dbo].[tbPerfil]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbPerfil];
GO
IF OBJECT_ID(N'[dbo].[tbProduto]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbProduto];
GO
IF OBJECT_ID(N'[dbo].[tbProdutoCliente]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbProdutoCliente];
GO
IF OBJECT_ID(N'[dbo].[tbUsuario]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbUsuario];
GO
IF OBJECT_ID(N'[dbo].[tbVendaDetalhes]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbVendaDetalhes];
GO
IF OBJECT_ID(N'[dbo].[tbVendas]', 'U') IS NOT NULL
    DROP TABLE [dbo].[tbVendas];
GO

-- --------------------------------------------------
-- Creating all tables
-- --------------------------------------------------

-- Creating table 'tbClientes'
CREATE TABLE [dbo].[tbClientes] (
    [idCliente] int IDENTITY(1,1) NOT NULL,
    [desCliente] varchar(50)  NOT NULL,
    [desTipo] varchar(1)  NULL,
    [flgAtivo] bit  NULL,
    [dtCadastro] datetime  NULL,
    [CNPJ] varchar(18)  NULL,
    [CPF] varchar(14)  NULL,
    [IE] varchar(20)  NULL,
    [RG] varchar(20)  NULL,
    [desContato] varchar(50)  NULL,
    [Endereco] varchar(100)  NULL,
    [Bairro] varchar(100)  NULL,
    [Cidade] varchar(100)  NULL,
    [Estado] varchar(2)  NULL,
    [CEP] varchar(10)  NULL,
    [Celular] varchar(15)  NULL,
    [Telefone] varchar(15)  NULL,
    [Fax] varchar(15)  NULL,
    [Complemento] varchar(100)  NULL,
    [Numero] varchar(10)  NULL
);
GO

-- Creating table 'tbFuncaos'
CREATE TABLE [dbo].[tbFuncaos] (
    [idFuncao] int IDENTITY(1,1) NOT NULL,
    [desFuncao] nvarchar(50)  NOT NULL
);
GO

-- Creating table 'tbFuncionarios'
CREATE TABLE [dbo].[tbFuncionarios] (
    [idFuncionario] int IDENTITY(1,1) NOT NULL,
    [idFuncao] int  NOT NULL,
    [desNomeFuncionario] nvarchar(50)  NOT NULL,
    [CPF] varchar(14)  NULL,
    [RG] varchar(20)  NULL,
    [Endereco] varchar(200)  NULL,
    [Numero] varchar(10)  NULL,
    [Complemento] varchar(100)  NULL,
    [Bairro] varchar(100)  NULL,
    [Cidade] varchar(100)  NULL,
    [Estado] varchar(2)  NULL,
    [CEP] varchar(10)  NULL,
    [Telefone] varchar(15)  NULL,
    [Celular] varchar(15)  NULL,
    [dtAdmissao] datetime  NULL,
    [dtDemissao] datetime  NULL,
    [CTPS] varchar(15)  NULL,
    [CTPS_Serie] varchar(10)  NULL,
    [flgAtivo] bit  NULL,
    [Foto] varchar(100)  NULL,
    [flgEntrega] bit  NULL
);
GO

-- Creating table 'tbGrupoProdutoes'
CREATE TABLE [dbo].[tbGrupoProdutoes] (
    [idGrupo] int IDENTITY(1,1) NOT NULL,
    [desNomeGrupo] varchar(50)  NOT NULL,
    [valPrecoPadrao] decimal(19,4)  NOT NULL
);
GO

-- Creating table 'tbProdutoes'
CREATE TABLE [dbo].[tbProdutoes] (
    [idProduto] int IDENTITY(1,1) NOT NULL,
    [idGrupo] int  NOT NULL,
    [desNomeProduto] varchar(50)  NOT NULL,
    [valPrecoProduto] decimal(19,4)  NOT NULL,
    [flgAtivo] bit  NOT NULL
);
GO

-- Creating table 'tbProdutoClientes'
CREATE TABLE [dbo].[tbProdutoClientes] (
    [idProduto] int  NOT NULL,
    [idCliente] int  NOT NULL,
    [valPrecoProdutoCliente] decimal(19,4)  NOT NULL
);
GO

-- Creating table 'tbParamentrosSistemas'
CREATE TABLE [dbo].[tbParamentrosSistemas] (
    [desNomeSistema] varchar(50)  NOT NULL
);
GO

-- Creating table 'tbUsuarios'
CREATE TABLE [dbo].[tbUsuarios] (
    [idFuncionario] int  NOT NULL,
    [desLogin] varchar(10)  NOT NULL,
    [desSenha] varchar(50)  NOT NULL,
    [idPerfil] int  NOT NULL
);
GO

-- Creating table 'tbPerfils'
CREATE TABLE [dbo].[tbPerfils] (
    [idPerfil] int IDENTITY(1,1) NOT NULL,
    [desPerfil] varchar(50)  NOT NULL
);
GO

-- Creating table 'tbGrupoProdutoClientes'
CREATE TABLE [dbo].[tbGrupoProdutoClientes] (
    [idGrupoProduto] int  NOT NULL,
    [idCliente] int  NOT NULL,
    [valPrecoGrupoProdutoCliente] decimal(19,4)  NOT NULL
);
GO

-- Creating table 'sysdiagrams'
CREATE TABLE [dbo].[sysdiagrams] (
    [name] nvarchar(128)  NOT NULL,
    [principal_id] int  NOT NULL,
    [diagram_id] int IDENTITY(1,1) NOT NULL,
    [version] int  NULL,
    [definition] varbinary(max)  NULL
);
GO

-- Creating table 'tbDesperdicios'
CREATE TABLE [dbo].[tbDesperdicios] (
    [idDesperdicio] int IDENTITY(1,1) NOT NULL,
    [dtDesperdicio] datetime  NOT NULL,
    [qtde] int  NOT NULL
);
GO

-- Creating table 'tbDesperdicioDetalhes'
CREATE TABLE [dbo].[tbDesperdicioDetalhes] (
    [idDesperdicioDetalhes] int IDENTITY(1,1) NOT NULL,
    [idDesperdicio] int  NOT NULL,
    [idGrupo] int  NOT NULL,
    [idProduto] int  NOT NULL,
    [qtde] int  NOT NULL
);
GO

-- Creating table 'tbEntregas'
CREATE TABLE [dbo].[tbEntregas] (
    [idEntrega] int IDENTITY(1,1) NOT NULL,
    [idVenda] int  NOT NULL,
    [idMotorista] int  NOT NULL,
    [qtdeCaixa] int  NOT NULL,
    [dtSaida] datetime  NOT NULL,
    [dtRetorno] datetime  NULL,
    [flgAtivo] bit  NOT NULL
);
GO

-- Creating table 'tbVendaDetalhes'
CREATE TABLE [dbo].[tbVendaDetalhes] (
    [idVendaDetalhe] int IDENTITY(1,1) NOT NULL,
    [idVenda] int  NOT NULL,
    [idProduto] int  NOT NULL,
    [qtde] int  NOT NULL,
    [valorItem] decimal(9,2)  NOT NULL,
    [valorTotal] decimal(9,2)  NOT NULL
);
GO

-- Creating table 'tbVendas'
CREATE TABLE [dbo].[tbVendas] (
    [idVenda] int IDENTITY(1,1) NOT NULL,
    [idCliente] int  NOT NULL,
    [numeroVenda] int  NOT NULL,
    [dtVenda] datetime  NOT NULL,
    [qtdeTotal] int  NOT NULL,
    [valorVenda] decimal(9,2)  NOT NULL,
    [statusVenda] varchar(1)  NOT NULL,
    [idMotorista] int  NOT NULL,
    [idUsuario] int  NOT NULL,
    [flgAutomatica] bit  NOT NULL,
    [valorFrete] decimal(9,2)  NOT NULL,
    [valorDesconto] decimal(9,2)  NOT NULL
);
GO

-- --------------------------------------------------
-- Creating all PRIMARY KEY constraints
-- --------------------------------------------------

-- Creating primary key on [idCliente] in table 'tbClientes'
ALTER TABLE [dbo].[tbClientes]
ADD CONSTRAINT [PK_tbClientes]
    PRIMARY KEY CLUSTERED ([idCliente] ASC);
GO

-- Creating primary key on [idFuncao] in table 'tbFuncaos'
ALTER TABLE [dbo].[tbFuncaos]
ADD CONSTRAINT [PK_tbFuncaos]
    PRIMARY KEY CLUSTERED ([idFuncao] ASC);
GO

-- Creating primary key on [idFuncionario] in table 'tbFuncionarios'
ALTER TABLE [dbo].[tbFuncionarios]
ADD CONSTRAINT [PK_tbFuncionarios]
    PRIMARY KEY CLUSTERED ([idFuncionario] ASC);
GO

-- Creating primary key on [idGrupo] in table 'tbGrupoProdutoes'
ALTER TABLE [dbo].[tbGrupoProdutoes]
ADD CONSTRAINT [PK_tbGrupoProdutoes]
    PRIMARY KEY CLUSTERED ([idGrupo] ASC);
GO

-- Creating primary key on [idProduto] in table 'tbProdutoes'
ALTER TABLE [dbo].[tbProdutoes]
ADD CONSTRAINT [PK_tbProdutoes]
    PRIMARY KEY CLUSTERED ([idProduto] ASC);
GO

-- Creating primary key on [idProduto], [idCliente] in table 'tbProdutoClientes'
ALTER TABLE [dbo].[tbProdutoClientes]
ADD CONSTRAINT [PK_tbProdutoClientes]
    PRIMARY KEY CLUSTERED ([idProduto], [idCliente] ASC);
GO

-- Creating primary key on [desNomeSistema] in table 'tbParamentrosSistemas'
ALTER TABLE [dbo].[tbParamentrosSistemas]
ADD CONSTRAINT [PK_tbParamentrosSistemas]
    PRIMARY KEY CLUSTERED ([desNomeSistema] ASC);
GO

-- Creating primary key on [idFuncionario] in table 'tbUsuarios'
ALTER TABLE [dbo].[tbUsuarios]
ADD CONSTRAINT [PK_tbUsuarios]
    PRIMARY KEY CLUSTERED ([idFuncionario] ASC);
GO

-- Creating primary key on [idPerfil] in table 'tbPerfils'
ALTER TABLE [dbo].[tbPerfils]
ADD CONSTRAINT [PK_tbPerfils]
    PRIMARY KEY CLUSTERED ([idPerfil] ASC);
GO

-- Creating primary key on [idGrupoProduto], [idCliente] in table 'tbGrupoProdutoClientes'
ALTER TABLE [dbo].[tbGrupoProdutoClientes]
ADD CONSTRAINT [PK_tbGrupoProdutoClientes]
    PRIMARY KEY CLUSTERED ([idGrupoProduto], [idCliente] ASC);
GO

-- Creating primary key on [diagram_id] in table 'sysdiagrams'
ALTER TABLE [dbo].[sysdiagrams]
ADD CONSTRAINT [PK_sysdiagrams]
    PRIMARY KEY CLUSTERED ([diagram_id] ASC);
GO

-- Creating primary key on [idDesperdicio] in table 'tbDesperdicios'
ALTER TABLE [dbo].[tbDesperdicios]
ADD CONSTRAINT [PK_tbDesperdicios]
    PRIMARY KEY CLUSTERED ([idDesperdicio] ASC);
GO

-- Creating primary key on [idDesperdicioDetalhes] in table 'tbDesperdicioDetalhes'
ALTER TABLE [dbo].[tbDesperdicioDetalhes]
ADD CONSTRAINT [PK_tbDesperdicioDetalhes]
    PRIMARY KEY CLUSTERED ([idDesperdicioDetalhes] ASC);
GO

-- Creating primary key on [idEntrega] in table 'tbEntregas'
ALTER TABLE [dbo].[tbEntregas]
ADD CONSTRAINT [PK_tbEntregas]
    PRIMARY KEY CLUSTERED ([idEntrega] ASC);
GO

-- Creating primary key on [idVendaDetalhe] in table 'tbVendaDetalhes'
ALTER TABLE [dbo].[tbVendaDetalhes]
ADD CONSTRAINT [PK_tbVendaDetalhes]
    PRIMARY KEY CLUSTERED ([idVendaDetalhe] ASC);
GO

-- Creating primary key on [idVenda] in table 'tbVendas'
ALTER TABLE [dbo].[tbVendas]
ADD CONSTRAINT [PK_tbVendas]
    PRIMARY KEY CLUSTERED ([idVenda] ASC);
GO

-- --------------------------------------------------
-- Creating all FOREIGN KEY constraints
-- --------------------------------------------------

-- Creating foreign key on [idCliente] in table 'tbProdutoClientes'
ALTER TABLE [dbo].[tbProdutoClientes]
ADD CONSTRAINT [FK_tbProdutoCliente_tbCliente]
    FOREIGN KEY ([idCliente])
    REFERENCES [dbo].[tbClientes]
        ([idCliente])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbProdutoCliente_tbCliente'
CREATE INDEX [IX_FK_tbProdutoCliente_tbCliente]
ON [dbo].[tbProdutoClientes]
    ([idCliente]);
GO

-- Creating foreign key on [idFuncao] in table 'tbFuncionarios'
ALTER TABLE [dbo].[tbFuncionarios]
ADD CONSTRAINT [FK_tbFuncionario_tbFuncao]
    FOREIGN KEY ([idFuncao])
    REFERENCES [dbo].[tbFuncaos]
        ([idFuncao])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbFuncionario_tbFuncao'
CREATE INDEX [IX_FK_tbFuncionario_tbFuncao]
ON [dbo].[tbFuncionarios]
    ([idFuncao]);
GO

-- Creating foreign key on [idGrupo] in table 'tbProdutoes'
ALTER TABLE [dbo].[tbProdutoes]
ADD CONSTRAINT [FK_tbProduto_tbGrupoProduto]
    FOREIGN KEY ([idGrupo])
    REFERENCES [dbo].[tbGrupoProdutoes]
        ([idGrupo])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbProduto_tbGrupoProduto'
CREATE INDEX [IX_FK_tbProduto_tbGrupoProduto]
ON [dbo].[tbProdutoes]
    ([idGrupo]);
GO

-- Creating foreign key on [idProduto] in table 'tbProdutoClientes'
ALTER TABLE [dbo].[tbProdutoClientes]
ADD CONSTRAINT [FK_tbProdutoCliente_tbProduto]
    FOREIGN KEY ([idProduto])
    REFERENCES [dbo].[tbProdutoes]
        ([idProduto])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [idFuncionario] in table 'tbUsuarios'
ALTER TABLE [dbo].[tbUsuarios]
ADD CONSTRAINT [FK_tbUsuario_tbFuncionario]
    FOREIGN KEY ([idFuncionario])
    REFERENCES [dbo].[tbFuncionarios]
        ([idFuncionario])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [idPerfil] in table 'tbUsuarios'
ALTER TABLE [dbo].[tbUsuarios]
ADD CONSTRAINT [FK_tbUsuario_tbPerfil]
    FOREIGN KEY ([idPerfil])
    REFERENCES [dbo].[tbPerfils]
        ([idPerfil])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbUsuario_tbPerfil'
CREATE INDEX [IX_FK_tbUsuario_tbPerfil]
ON [dbo].[tbUsuarios]
    ([idPerfil]);
GO

-- Creating foreign key on [idCliente] in table 'tbGrupoProdutoClientes'
ALTER TABLE [dbo].[tbGrupoProdutoClientes]
ADD CONSTRAINT [FK_tbGrupoProdutoCliente_tbCliente]
    FOREIGN KEY ([idCliente])
    REFERENCES [dbo].[tbClientes]
        ([idCliente])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbGrupoProdutoCliente_tbCliente'
CREATE INDEX [IX_FK_tbGrupoProdutoCliente_tbCliente]
ON [dbo].[tbGrupoProdutoClientes]
    ([idCliente]);
GO

-- Creating foreign key on [idGrupoProduto] in table 'tbGrupoProdutoClientes'
ALTER TABLE [dbo].[tbGrupoProdutoClientes]
ADD CONSTRAINT [FK_tbGrupoProdutoCliente_tbGrupoProduto]
    FOREIGN KEY ([idGrupoProduto])
    REFERENCES [dbo].[tbGrupoProdutoes]
        ([idGrupo])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [idDesperdicio] in table 'tbDesperdicioDetalhes'
ALTER TABLE [dbo].[tbDesperdicioDetalhes]
ADD CONSTRAINT [FK_tbDesperdicioDetalhes_tbDesperdicio]
    FOREIGN KEY ([idDesperdicio])
    REFERENCES [dbo].[tbDesperdicios]
        ([idDesperdicio])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbDesperdicioDetalhes_tbDesperdicio'
CREATE INDEX [IX_FK_tbDesperdicioDetalhes_tbDesperdicio]
ON [dbo].[tbDesperdicioDetalhes]
    ([idDesperdicio]);
GO

-- Creating foreign key on [idGrupo] in table 'tbDesperdicioDetalhes'
ALTER TABLE [dbo].[tbDesperdicioDetalhes]
ADD CONSTRAINT [FK_tbDesperdicioDetalhes_tbGrupoProduto]
    FOREIGN KEY ([idGrupo])
    REFERENCES [dbo].[tbGrupoProdutoes]
        ([idGrupo])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbDesperdicioDetalhes_tbGrupoProduto'
CREATE INDEX [IX_FK_tbDesperdicioDetalhes_tbGrupoProduto]
ON [dbo].[tbDesperdicioDetalhes]
    ([idGrupo]);
GO

-- Creating foreign key on [idProduto] in table 'tbDesperdicioDetalhes'
ALTER TABLE [dbo].[tbDesperdicioDetalhes]
ADD CONSTRAINT [FK_tbDesperdicioDetalhes_tbProduto]
    FOREIGN KEY ([idProduto])
    REFERENCES [dbo].[tbProdutoes]
        ([idProduto])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbDesperdicioDetalhes_tbProduto'
CREATE INDEX [IX_FK_tbDesperdicioDetalhes_tbProduto]
ON [dbo].[tbDesperdicioDetalhes]
    ([idProduto]);
GO

-- Creating foreign key on [idCliente] in table 'tbVendas'
ALTER TABLE [dbo].[tbVendas]
ADD CONSTRAINT [FK_tbVendas_tbCliente]
    FOREIGN KEY ([idCliente])
    REFERENCES [dbo].[tbClientes]
        ([idCliente])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbVendas_tbCliente'
CREATE INDEX [IX_FK_tbVendas_tbCliente]
ON [dbo].[tbVendas]
    ([idCliente]);
GO

-- Creating foreign key on [idMotorista] in table 'tbEntregas'
ALTER TABLE [dbo].[tbEntregas]
ADD CONSTRAINT [FK_tbEntregas_tbFuncionario]
    FOREIGN KEY ([idMotorista])
    REFERENCES [dbo].[tbFuncionarios]
        ([idFuncionario])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbEntregas_tbFuncionario'
CREATE INDEX [IX_FK_tbEntregas_tbFuncionario]
ON [dbo].[tbEntregas]
    ([idMotorista]);
GO

-- Creating foreign key on [idVenda] in table 'tbEntregas'
ALTER TABLE [dbo].[tbEntregas]
ADD CONSTRAINT [FK_tbEntregas_tbVendas]
    FOREIGN KEY ([idVenda])
    REFERENCES [dbo].[tbVendas]
        ([idVenda])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbEntregas_tbVendas'
CREATE INDEX [IX_FK_tbEntregas_tbVendas]
ON [dbo].[tbEntregas]
    ([idVenda]);
GO

-- Creating foreign key on [idMotorista] in table 'tbVendas'
ALTER TABLE [dbo].[tbVendas]
ADD CONSTRAINT [FK_tbVendas_tbFuncionario]
    FOREIGN KEY ([idMotorista])
    REFERENCES [dbo].[tbFuncionarios]
        ([idFuncionario])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbVendas_tbFuncionario'
CREATE INDEX [IX_FK_tbVendas_tbFuncionario]
ON [dbo].[tbVendas]
    ([idMotorista]);
GO

-- Creating foreign key on [idProduto] in table 'tbVendaDetalhes'
ALTER TABLE [dbo].[tbVendaDetalhes]
ADD CONSTRAINT [FK_tbVendaDetalhes_tbProduto]
    FOREIGN KEY ([idProduto])
    REFERENCES [dbo].[tbProdutoes]
        ([idProduto])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbVendaDetalhes_tbProduto'
CREATE INDEX [IX_FK_tbVendaDetalhes_tbProduto]
ON [dbo].[tbVendaDetalhes]
    ([idProduto]);
GO

-- Creating foreign key on [idUsuario] in table 'tbVendas'
ALTER TABLE [dbo].[tbVendas]
ADD CONSTRAINT [FK_tbVendas_tbUsuario]
    FOREIGN KEY ([idUsuario])
    REFERENCES [dbo].[tbUsuarios]
        ([idFuncionario])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbVendas_tbUsuario'
CREATE INDEX [IX_FK_tbVendas_tbUsuario]
ON [dbo].[tbVendas]
    ([idUsuario]);
GO

-- Creating foreign key on [idVenda] in table 'tbVendaDetalhes'
ALTER TABLE [dbo].[tbVendaDetalhes]
ADD CONSTRAINT [FK_tbVendaDetalhes_tbVendas]
    FOREIGN KEY ([idVenda])
    REFERENCES [dbo].[tbVendas]
        ([idVenda])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_tbVendaDetalhes_tbVendas'
CREATE INDEX [IX_FK_tbVendaDetalhes_tbVendas]
ON [dbo].[tbVendaDetalhes]
    ([idVenda]);
GO

-- --------------------------------------------------
-- Script has ended
-- --------------------------------------------------